/*
 * @Author: 王庆庆
 * @Date: 2024-11-08 18:09:59
 * @LastEditors: 王庆庆
 * @LastEditTime: 2025-01-14 08:05:26
 * @Description: 文件描述
 */
export const useFile = () => {
	const getFile = (url) => {
		return fetch(url)
			.then((response) => response.text())
			.then((markdown) => {
				let res = marked(markdown, {
					renderer: renderer,
					gfm: true, //默认为true。 允许 Git Hub标准的markdown.
					tables: true, //默认为true。 允许支持表格语法。该选项要求 gfm 为true。
					breaks: true, //默认为false。 允许回车换行。该选项要求 gfm 为true。
					pedantic: false, //默认为false。 尽可能地兼容 markdown.pl的晦涩部分。不纠正原始模型任何的不良行为和错误。
					sanitize: true, //对输出进行过滤（清理）
					smartLists: true,
					smartypants: true, //使用更为时髦的标点，比如在引用语法中加入破折号。
					langPrefix: "hljs language-",
				});
				const tempDiv = document.createElement("div");
				tempDiv.innerHTML = res;
                // h1, h2, h3
				let menuList = Array.from(
					tempDiv.querySelectorAll("h1")
				).map((header) => (
                    {
					id: header.id,
					text: header.textContent,
				}));
				return {
					menuList: menuList,
					htmlDom: res,
				};
			});
	};
	return {
		getFile,
	};
};
